/**
  **************************************************************************
  * @file     main.c
  * @brief    main program
  **************************************************************************
  * 单片机型号：at32f413CCU7
  * 我们要用 GCC 目录下的对应平台中的 port.c 和 portmacro.h
  * Arm Compiler 选择 v6 版本的
  * C 版本选择 C11，暂未发现问题
  * C++ 版本选择 C++11, 暂未发现问题
  * FreeRTOS Kernel V10.5.1
  ***************************************************************************
  * FreeRTOS 任务优先级排序：FreeRTOS的任务优先级是，任务优先级数值越小，任务优先级越低。
  * AT32 中断优先级排序：
  */

#include "at32f413_clock.h"
#include "FreeRTOS.h"
#include "task.h"
#include "led.h"
#include "xtp_defines.h"

/**
  * @brief  main function.
  * @param  none
  * @retval none
  */
int main(void)
{
  system_clock_config();

  led1.create_task();

  /* 开启任务调度器 */
  vTaskStartScheduler();

  while (1)
  {

  }
}

void vApplicationTickHook(void)
{
  global_num_1++;
  if (global_num_1 >= 500)
  {
    global_num_1 = 0;
    // 给 led_task 任务发送通知
    xTaskNotifyGive(xTaskGetHandle("led_task"));
  }
}

